1. Field
This disclosure relates generally to data processing systems, and more specifically, to a memory management unit having region descriptor globalization controls.
2. Related Art
Some embedded processors implement an internal Memory Protection Unit (MPU) to provide protection information for a number of variable size memory regions. Access protections are enforced on instruction fetches and data read and write accesses by comparing these access addresses with each entry in the MPU to determine a match. A descriptor match for an access occurs when the access address lies within the address range defined by the region descriptor, the current process identifier (PID) matches the programmed region identifier defined by the region descriptor, and the permissions associated with the region descriptor allow the access type.
In one implementation of an MPU, a programmed region identifier of all 0's indicates a “global” region descriptor that can be matched by any process, and is usually used for supervisor-only regions. However, since supervisor access to user regions is also needed, this implementation typically requires multiple redundant region descriptors or requires the supervisor code to modify the current PID value to match the programmed region identifier. However, these solutions introduce penalties in terms of resource usage or performance overhead. Furthermore, due to other mapping constraints, it may not be possible to change the current PID value in supervisor mode to match a user-region PID value.